Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
The 'bytes' npm package is a utility for parsing and formatting byte sizes. It allows users to easily convert between different units of bytes and parse strings with byte size information into numbers. It is useful for displaying file sizes in a human-readable format or for parsing user input into byte quantities.
Parse byte size strings
This feature allows you to parse a string representing a byte size into an integer number of bytes. For example, passing '1000KB' will return 1000000.
"1000KB" // returns 1000000
Format bytes into strings
This feature allows you to format an integer number of bytes into a string with a unit. For example, passing 1024 will return '1KB'.
1024 // returns '1KB'
Specify the number of decimal places
This feature allows you to specify the number of decimal places when formatting bytes into a string. For example, passing an object with 1000 bytes and 1 decimal place will return '1.0KB'.
{ bytes: 1000, decimalPlaces: 1 } // returns '1.0KB'
Specify the unit of bytes
This feature allows you to specify the unit when formatting bytes. For example, passing an object with 1024 bytes and 'kB' as the unit will return '1kB'.
{ bytes: 1024, unit: 'kB' } // returns '1kB'
The 'filesize' package provides similar functionality to 'bytes' by allowing users to convert byte amounts into human-readable strings. It offers more options for customization, such as setting the base, standard (SI or IEC), rounding method, and partials.
The 'pretty-bytes' package is another alternative to 'bytes' that converts byte values into a human-readable format. It supports negative numbers, localization, and can automatically choose the appropriate unit.
Utility to parse a string bytes (ex: 1TB
) to bytes (1099511627776
) and vice-versa.
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install bytes
var bytes = require('bytes');
Default export function. Delegates to either bytes.format
or bytes.parse
based on the type of value
.
Arguments
Name | Type | Description |
---|---|---|
value | number |string | Number value to format or string value to parse |
options | Object | Conversion options for format |
Returns
Name | Type | Description |
---|---|---|
results | string |number |null | Return null upon error. Numeric value in bytes, or string value otherwise. |
Example
bytes(1024);
// output: '1KB'
bytes('1KB');
// output: 1024
Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is rounded.
Arguments
Name | Type | Description |
---|---|---|
value | number | Value in bytes |
options | Object | Conversion options |
Options
Property | Type | Description |
---|---|---|
decimalPlaces | number |null | Maximum number of decimal places to include in output. Default value to 2 . |
fixedDecimals | boolean |null | Whether to always display the maximum number of decimal places. Default value to false |
thousandsSeparator | string |null | Example of values: ' ' , ',' and '.' ... Default value to '' . |
unit | string |null | The unit in which the result will be returned (B/KB/MB/GB/TB). Default value to '' (which means auto detect). |
unitSeparator | string |null | Separator to use between number and unit. Default value to '' . |
Returns
Name | Type | Description |
---|---|---|
results | string |null | Return null upon error. String value otherwise. |
Example
bytes.format(1024);
// output: '1KB'
bytes.format(1000);
// output: '1000B'
bytes.format(1000, {thousandsSeparator: ' '});
// output: '1 000B'
bytes.format(1024 * 1.7, {decimalPlaces: 0});
// output: '2KB'
bytes.format(1024, {unitSeparator: ' '});
// output: '1 KB'
Parse the string value into an integer in bytes. If no unit is given, or value
is a number, it is assumed the value is in bytes.
Supported units and abbreviations are as follows and are case-insensitive:
b
for byteskb
for kilobytesmb
for megabytesgb
for gigabytestb
for terabytespb
for petabytesThe units are in powers of two, not ten. This means 1kb = 1024b according to this parser.
Arguments
Name | Type | Description |
---|---|---|
value | string |number | String to parse, or number in bytes. |
Returns
Name | Type | Description |
---|---|---|
results | number |null | Return null upon error. Value in bytes otherwise. |
Example
bytes.parse('1KB');
// output: 1024
bytes.parse('1024');
// output: 1024
bytes.parse(1024);
// output: 1024
FAQs
Utility to parse a string bytes to bytes and vice-versa
The npm package bytes receives a total of 49,050,180 weekly downloads. As such, bytes popularity was classified as popular.
We found that bytes demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.